-
Notifications
You must be signed in to change notification settings - Fork 140
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add foundations for Android support #587
Add foundations for Android support #587
Conversation
src/main/java/com/code_intelligence/jazzer/driver/FuzzTargetFinder.java
Outdated
Show resolved
Hide resolved
src/main/java/com/code_intelligence/jazzer/driver/FuzzTargetRunner.java
Outdated
Show resolved
Hide resolved
src/main/java/com/code_intelligence/jazzer/driver/FuzzTargetRunner.java
Outdated
Show resolved
Hide resolved
src/main/java/com/code_intelligence/jazzer/runtime/CoverageMap.java
Outdated
Show resolved
Hide resolved
src/main/java/com/code_intelligence/jazzer/runtime/CoverageMap.java
Outdated
Show resolved
Hide resolved
Don't worry about the conflicts, I can fix those when we are done with the review. |
fixed comments |
src/main/java/com/code_intelligence/jazzer/runtime/CoverageMap.java
Outdated
Show resolved
Hide resolved
@TheCoryBarker I will resolve the conflicts and then check the CI status. |
There is an issue with non-Android builds and ANDROID_NDK_HOME needing to be set. For me this is not an issue but for most people this will be. I will look into a fix for this |
@TheCoryBarker I merged in the recent changes from main. |
ANDROID_NDK_HOME and ANDROID_HOME needing to be set is fixed now, however, the test to build all targets will fail for Android targets. How can we fix this? |
You could move the android targets to a subpackage and exclude that target in CI. Let me know of you want me to take a look at that. |
I found this as another solution which would probably work better in the long run. Can we update the CI command to run: bazel query '//... except kind(android.*, //...)' | xargs bazel build |
We can do that if nothing else works, but I would like to preserve the assumption that @TheCoryBarker If you want, I can take a look and propose a fix. |
I moved the Android build targets into their own package, but I'm not sure how to exclude them from being built in //..., if you could propose a fix that would be really great |
1756fbb
to
cc0e0db
Compare
I made it so that Android targets aren't built locally unless requested explicitly, but are built as part of the Linux CI build. I also made it so that the @TheCoryBarker Windows CI runs are failing since |
Thank you, I am having a very tough time getting a Windows machine with correct permissions to test my changes on... |
Thanks for the suggestion Fabian, I updated to use preprocessor conditionals |
src/main/native/com/code_intelligence/jazzer/driver/BUILD.bazel
Outdated
Show resolved
Hide resolved
@TheCoryBarker I fixed some minor issues, CI looks good now. I left a single comment and will merge when it's resolved. |
d2fbd98
to
2656ade
Compare
This includes the necessary changes to the native launcher, driver and runtime, but does not yet include a way to instrument the application under test - Android doesn't support Java agents. Since building the Android targets requires a local installation of the Android SDK and NDK, these targets aren't built by default and only requested in the Linux CI pipeline.
2656ade
to
906c224
Compare
@TheCoryBarker Thanks for resolving that problem. I squashed the commits, added a commit message and hit merge. |
This includes the necessary changes to the native launcher, driver and runtime, but does not yet include a way to instrument the application under test - Android doesn't support Java agents. Since building the Android targets requires a local installation of the Android SDK and NDK, these targets aren't built by default and only requested in the Linux CI pipeline. Co-authored-by: Fabian Meumertzheim <fabian@meumertzhe.im>
This includes the necessary changes to the native launcher, driver and runtime, but does not yet include a way to instrument the application under test - Android doesn't support Java agents.
Since building the Android targets requires a local installation of the Android SDK and NDK, these targets aren't built by default and only requested in the Linux CI pipeline.